package thread;

/**
 * sleep方法要求我们必须处理中断异常：InterruptedException
 * 当一个线程调用sleep方法处于睡眠阻塞的过程中若该线程的interrupt方法被调用，那么
 * 此时会强制中断它的睡眠阻塞并抛出异常interruptedException
 */
public class SleepDemo2 {
    public static void main(String[] args) {
        Thread t1 = new Thread(){
            @Override
            public void run() {
                System.out.println("林：刚美完容，睡一会吧");
                try {
                    Thread.sleep(5000000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                    System.out.println("林：干嘛呢干嘛呢！都破了相了");
                }
                System.out.println("林：醒来了");
            }
        };
        Thread t2 = new Thread(){
            @Override
            public void run() {
                System.out.println("黄：大锤八十！小锤四十！开始砸墙");
                for (int i=0;i<5;i++){
                    System.out.println("黄：八十！");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                    }
                }
                System.out.println("黄：大哥，搞定!");
                t1.interrupt();
            }
        };
        t1.start();
        t2.start();
    }
}
